package cn.com.surker.system.service;

import cn.com.surker.system.entity.SysMenuInfo;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;
import java.util.Map;

/**
* <p>
    * 菜单表 服务类
    * </p>
*
* @author lucky
* @since 2021-02-24
*/
public interface MenuInfoService {

    /**
     * 加载菜单
     * @return
     */
    List<Map<String, Object>> loadMenu(Long type);

    /**
     * 加载后台菜单
     * @param uid 用户ID
     * @param orgId 部门ID
     * @param type 类型,0:手机端菜单，1：后台管理菜单
     * @return
     */
    List<Map<String, Object>> loadUserMenu(Long uid, Long orgId, Integer type);

    /**
     * 加载后台菜单
     * @param uid 用户ID
     * @param loadType 是否加载旭科云菜单
     * @param type 类型,0:手机端菜单，1：后台管理菜单
     * @return
     */
    List<Map<String, Object>> loadUserMenuV1(Long uid, Integer loadType, Integer type);

    /**
     * 禁用菜单
     * @param id
     * @return
     */
    Integer delete(Long id);

    /**
     * 启用菜单
     * @param id
     * @return
     */
    Integer enabled(Long id);

    /**
    * 分后台页查询数据
    * @param name 菜单名称
    * @param type 类型,0:手机端菜单，1：后台管理菜单
    * @param offset 起始位置
    * @param limit 页码大小
     * @return
    */
    IPage findByPage(String name, Integer type, Integer offset, Integer limit);


    /**
    * 新增数据
    * @param menu
    * @return
    */
    Integer saveInit(SysMenuInfo menu);

    /**
    * 更新数据
    * @param menu
    * @return
    */
    Integer update(SysMenuInfo menu);

    }
